package main

import (
	"fmt"
	"os"
)

func main() {
	fifoPath := "/tmp/my_pipe"

	// 检查并创建命名管道
	if _, err := os.Stat(fifoPath); os.IsNotExist(err) {
		err := createNamedPipe(fifoPath)
		if err != nil {
			fmt.Printf("创建失败: %v\n", err)
			return
		}
		fmt.Printf("命名管道已创建: %s\n", fifoPath)
	} else {
		fmt.Println("命名管道已存在")
	}
}

func createNamedPipe(path string) error {
	// 使用 os.Mkdir 创建临时目录（如果需要）
	// 实际创建 FIFO 需要系统调用，但 Go 的 os.OpenFile 会自动处理
	return os.WriteFile(path, []byte{}, 0666)
}
